62 research outputs found

    Incrementally developing parallel applications with AspectJ

    Get PDF
    This paper presents a methodology to develop more modular parallel applications, based on aspect oriented programming. Traditional object oriented mechanisms implement application core functionality and parallelisation concerns are plugged by aspect oriented mechanisms. Parallelisation concerns are separated into four categories: functional or/and data partition, concurrency, distribution and optimisation. Modularising these categories into separate modules using aspect oriented programming enables (un)pluggability of parallelisation concerns. This approach leads to more incremental application development, easier debugging and increased reuse of core functionality and parallel code, when compared with traditional object oriented approaches. A detailed analysis of a simple parallel application - a prime number sieve - illustrates the methodology and shows how to accomplish these gains.Fundo Europeu de Desenvolvimento Regional (FEDER) - PPC-VM project POSI/CHS/47158/2002.Fundação para a Ciência e a Tecnologia (FCT) - PPC-VM project POSI/CHS/47158/2002

    Optimised filters for texture defect detection

    Get PDF
    This paper presents a new approach to texture defect detection based on a set of optimised filters. Each filter is applied to one wavelet sub-band and its size and shape are tuned for a defect type. The wavelet transform provides a very efficient way to decompose a complex texture into a set of base components (wavelet sub-bands), which are then analysed by each filter to detect a kind of defect. The proposed methodology has been successfully applied to leather inspection, achieving the detection rate of highly trained human operators. The process is also fast enough to be used for in-line inspection.Agência de Inovação (ADI) - sistema de Geo--referenciação Móvel assistido por Imagem (SiGMA

    Parc#: parallel computing with c# in .net

    Get PDF
    This paper describes experiments with the development of a parallel computing platform on top of a compatible C# implementation: the Mono project. This implementation has the advantage of running on both Windows and UNIX platforms and has reached a stable state. This paper presents performance results obtained and compares these results with implementations in Java/RMI. The results show that the Mono network performance, critical for parallel applications, has greatly improved in recent releases, that it is superior to the Java RMI and is close to the performance of the new Java nio package. The Mono virtual machine is not yet so highly tuned as the Sun JVM and Thread scheduling needs to be improved. Overall, this platform is a new alternative to explore in the future for parallel computing(undefined

    Inventário automático de sinais de trânsito: um sistema de mapeamento móvel

    Get PDF
    A inventariação e georeferenciação do mobiliário urbano é um processo fundamental para entidades responsáveis pela gestão destas infra-estruturas, fornecendo informação indispensável para o apoio à tomada de decisões. No entanto, o levantamento e processamento da informação necessária para esta inventariação são processos morosos devido à extensão da malha urbana. A utilização de Sistemas de Mapeamento Móveis (SMM) permite acelerar este levantamento, mas a informação deve ainda ser processada para localizar e identificar os objectos de interesse. Este artigo apresenta uma abordagem baseada em técnicas de Visão por Computador, que permite automatizar a localização e identificação de mobiliário urbano numa sequência de imagens obtida com um SMM. Esta abordagem restringe-se, nesta fase de estudo de viabilidade e prototipagem, à sinalização vertical de trânsito. A principal contribuição deste artigo consiste na introdução de um novo método de localização e identificação de sinais de trânsito em ambientes exteriores, baseado na segmentação pela cor, reconhecimento de formas usando assinaturas de contornos e identificação do sinal através de correlação monocromática. Os resultados obtidos demonstram uma taxa de sucesso global na ordem dos 75% e um aumento muito significativo de produtividade na fase de processamento de informação.Agência de Inovação (AdI

    Modular and non-invasive distributed memory parallelization

    Get PDF
    This paper presents an aspect-oriented library to support parallelization of Java applications for distributed memory environments, using a message-passing approach. The library was implemented using AspectJ language, and aims to provide a set of mechanisms to make easier to parallelize applications, as well as to solve well known problems of parallelization, such as lack of modularity and reusability. We compare the advantages of this method over the traditional approach, and we discuss differences to recent approaches that address the same problem. Results show benefits over other approaches, and, in most of cases, a competitive performance.(undefined

    Checkpoint and run-time adaptation with pluggable parallelisation

    Get PDF
    Enabling applications for computational Grids requires new approaches to develop applications that can effectively cope with resource volatility. Applications must be resilient to resource faults, adapting the behaviour to available resources. This paper describes an approach to application-level adaptation that efficiently supports application-level checkpointing. The key of this work is the concept of pluggable parallelisation, which localises parallelisation issues into multiple modules that can be (un)plugged to match resource availability. This paper shows how pluggable parallelisation can be extended to effectively support checkpointing and run-time adaptation. We present the developed pluggable mechanism that helps the programmer to include checkpointing in the base (sequential). Based on these mechanisms and on previous work on pluggable parallelisation, our approach is able to automatically add support for checkpointing in parallel execution environments. Moreover, applications can adapt from a sequential execution to a multi-cluster configuration. Adaptation can be performed by checkpointing the application and restarting on a different mode or can be performed during run-time. Pluggable parallelisation intrinsically promotes the separation of software functionality from fault-tolerance and adaptation issues facilitating their analysis and evolution. The work presented in this paper reinforces this idea by showing the feasibility of the approach and performance benefits that can be achieved.(undefined

    An aspect-oriented approach to fault-tolerance in grid platforms

    Get PDF
    Migrating traditional scientific applications to computational Grids requires programming tools that can help programmers to update application behaviour to this kind of platforms. Computational Grids are particularly suited for long running scientific applications, but they are also more prone to faults than desktop machines. The AspectGrid framework aims to develop methodologies and tools that can help to Grid-enable scientific applications, particularly focusing on techniques based on aspect-oriented programming. In this paper we present the aspect-oriented approach taken in the AspectGrid framework to address faults in computational Grids. In the proposed approach, scientific applications are enhanced with fault-tolerance capability by plugging additional modules. The proposed technique is portable across operating systems and minimises the changes required to base applications

    AspectGrid: aspect-oriented fault-tolerance in grid platforms

    Get PDF
    Migrating traditional scientific applications to computational Grids requires programming tools that can help programmers update application behaviour to this kind of platforms. Computational Grids are particularly suited for long running scientific applications, but they are also more prone to faults than desktop machines. The AspectGrid framework aims to develop methodologies and tools that can help Grid-enable scientific applications, particularly focusing on techniques based on aspect-oriented programming. In this paper we present the aspect-oriented approach taken in the AspectGrid framework to address faults in computational Grids. In the proposed approach, scientific applications are enhanced with fault-tolerance capability by plugging additional modules. The proposed technique is portable across operating systems and minimises the changes required to base applications

    JaSkel: a java skeleton-based framework for structured cluster and grid computing

    Get PDF
    This paper presents JaSkel, a skeleton-based framework to develop parallel and grid applications. The framework provides a set of Java abstract classes as a skeleton catalogue, which implements recurring parallel interaction paradigms. This approach aims to improve code efficiency and portability. It also helps to structure scalable applications through the refinement and composition of skeletons. Evaluation results show that using the provided skeletons do contribute to improve both application development time and execution performanceFundação para a Ciência e a Tecnologia (FCT) - PPC-VM Project(POSI/CHS/47158/2002); Project SeARCH (contract REEQ/443/2001)

    Towards a faster and accurate supertree inference

    Get PDF
    Phylogenetic inference is one of the most challenging and important problems in computational biology. However, computing evolutionary links on data sets containing only few thousands of taxa easily becomes a daunting task. Moreover, recent advances in next-generation sequencing technologies are turning this problem even much harder, either in terms of complexity or scale. Therefore, phylogenetic inference requires new algorithms and methods to handle the unprecedented growth of biological data. In this paper, we identify several types of parallelism that are available while refining a supertree. We also present four improvements that we made to SuperFine-a state-of-The-Art supertree (meta)method-, which add support: i) to use FastTree as the inference tool; ii) to use a parallel version of FastTree, or RAxML, as the inference tool; iii) to exploit intra-polytomy parallelism within the so-called polytomy refinement phase; and iv) to exploit, at the same time, inter-polytomy and intra-polytomy parallelism within the polytomy refinement phase. Together, these improvements allow an efficient and transparent exploitation of hybrid-polytomy parallelism. Additionally, we pinpoint how future contributions should enhance the performance of such applications. Our studies show groundbreaking results in terms of the achieved speedups, specially when using biological data sets. Moreover, we show that the new parallel strategy-which exploits the hybrid-polytomy parallelism within the polytomy refinement phase-exhibits good scalability, even in the presence of asymmetric sets of tasks. Furthermore, the achieved results show that the radical improvement in performance does not impair tree accuracy, which is a key issue in phylogenetic inferences.This research was partially supported by Fundação para a Ciência e aTecnologia (grant SFRH/BD/42634/2007). We thank Rui Gonc¸alves, Rui Silva, and Tandy Warnow for fruitful discussions and valuable feedback. We thank Keshav Pingali for his valuable support and sponsorship to let us execute jobs on TACC machines. We are deeply grateful to Rui Oliveira, without whom it would not be possible to present this work. We are very grateful to the anonymous reviewers for the evaluation of our paper and for the constructive critics.info:eu-repo/semantics/publishedVersio
    corecore